home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 98 / Skunkware 98.iso / src / interp / perl-5.003.tar.gz / perl-5.003.tar / perl-5.003 / regexp.h < prev    next >
C/C++ Source or Header  |  1994-10-18  |  1KB  |  36 lines

  1. /*    regexp.h
  2.  */
  3.  
  4. /*
  5.  * Definitions etc. for regexp(3) routines.
  6.  *
  7.  * Caveat:  this is V8 regexp(3) [actually, a reimplementation thereof],
  8.  * not the System V one.
  9.  */
  10.  
  11.  
  12. typedef struct regexp {
  13.     char **startp;
  14.     char **endp;
  15.     SV *regstart;        /* Internal use only. */
  16.     char *regstclass;
  17.     SV *regmust;        /* Internal use only. */
  18.     I32 regback;        /* Can regmust locate first try? */
  19.     I32 minlen;        /* mininum possible length of $& */
  20.     I32 prelen;        /* length of precomp */
  21.     U32 nparens;        /* number of parentheses */
  22.     U32 lastparen;        /* last paren matched */
  23.     char *precomp;        /* pre-compilation regular expression */
  24.     char *subbase;        /* saved string so \digit works forever */
  25.     char *subbeg;        /* same, but not responsible for allocation */
  26.     char *subend;        /* end of subbase */
  27.     U16 naughty;        /* how exponential is this pattern? */
  28.     char reganch;        /* Internal use only. */
  29.     char do_folding;    /* do case-insensitive match? */
  30.     char program[1];    /* Unwarranted chumminess with compiler. */
  31. } regexp;
  32.  
  33. #define ROPT_ANCH 1
  34. #define ROPT_SKIP 2
  35. #define ROPT_IMPLICIT 4
  36.